classic_battlefield_moddingfandomcom-20200214-history
Understanding Meshes
Battlefield models uses several different meshes to represent the object in game. The main mesh, or visual mesh is how the model looks to players. Level of Detail: The level of detail meshes are less detailed versions of the original model. As the object gets farther away the game starts to load the LOD's. Battlefield 2 uses four LOD meshes. LOD 0, - the most detailed mesh. This is the main model with no alterations to it's detail. LOD 1, - this is the first level of detail. It's still detailed but most small objects and details are removed. LOD 2, - this is the second level of detail. This is a much less detailed version of the model that's rendered a few hundred meters away. The basic shape of the model is still present and not much effort was put into the texture unwrap process because you'll only see the basic color of the texture from that range. LOD 3, - the lowest level of detail. This is the mesh that's rendered right before the object leaves the cull radius and disappears all together. It's shape is very basic and not much detail was put into the texturing process. Collision Meshes: A collision mesh is a model that isn't rendered so you can't see it in-game. The game uses it to determine where other objects and projectiles collide with the parent object. There's a total of three collision meshes. 'COL0 -' the projectile mesh. This mesh determines where projectiles collide with the parent object. This is the most detailed mesh so you don't have to model it because it will be a copy of the original model. This mesh will also define the different materials of the object, which can result in different damage levels. '' COL'1 -''' the vehicle mesh. This mesh determines where the object collides with other objects and terrain. This mesh is less detailed and will consist of simple shapes. COL2 - , the soldier mesh. This mesh determines where players and bots collide with the object. This mesh will be slightly more detailed than collision 1 but will still consist of simple shapes. ''COL3 - The AImesh. This mesh is not used in game, but only used when generating the navmesh for the bots. Notes: Weapons do NOT need any collision meshes. They only need at least one LOD mesh, but usually just two.. In order for Col2 to work, most of it has to be the same as or inside the boundaries of Col0. When you import an object into the Editor (or export from Max), an invisible bounding box is created and added to the mesh file. The vertices of Col0 are used to determine it's dimensions. If most of Col2 happens to be outside this box, it's ignored and the player can just walk right through the object. Something to remember if you are trying to do some custom collision work and you have this problem. Incidentally, if you are doing some kind of custom collision mesh work and you need your invisible soldier collision mesh to be bigger than the rest of your object, you can make this work by adding a few tiny, single polygons to Col0 and moving them out past the edges of Col2. They just need to be there so that the bounding box that's generated ends up being bigger than Col2. You don't evidently even need to add them on all sides. It appears that just the majority of Col2 needs to be somewhere "inside" the limits of Col0. Wheel collisions work slightly differently and just need Col0 and Col1. Note also that you don't have to have all three collision meshes on all parts of a vehicle. This is useful for things like gun barrels in turrets. You might want projectiles and maybe soldiers to collide with the piece, but there's no need to add a vehicle collision mesh to the piece because it would just cause lag from all the calculations and wouldn't really be noticeable anyway.